home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994…tember: Reference Library / Dev.CD Sep 94.toast / Periodicals / develop / develop Issue 17 / develop 17 code / PwrPC Debugging / CrashOMatic / CrashOMatic.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-01  |  3.4 KB  |  101 lines  |  [TEXT/MPS ]

  1. /*------------------------------------------------------------------------------
  2. #
  3. #    Apple Macintosh Developer Technical Support
  4. #
  5. #    MultiFinder-Aware Simple Sample Application
  6. #
  7. #    CrashOMatic
  8. #
  9. #    CrashOMatic.h    -    Rez and C Include Source
  10. #
  11. #    Copyright © 1989-93 Apple Computer, Inc.
  12. ------------------------------------------------------------------------------*/
  13.  
  14. #ifndef rez
  15. void EventLoop( void );
  16. void DoEvent( EventRecord *event );
  17. void GetGlobalMouse( Point *mouse );
  18. void DoMenuCommand( long menuResult );
  19. Boolean DoCloseWindow( WindowPtr window );
  20. void Terminate( void );
  21. void ForceEnvirons( void );
  22. Boolean IsDAWindow( WindowPtr window );
  23. void AlertUser( void );
  24. void Initialize( void );
  25. void doExceptionProtected(short selection);
  26.  
  27. #endif
  28.  
  29.  
  30. #define    rMenuBar    128                /* application's menu bar */
  31. #define    rAboutAlert    128                /* about alert */
  32. #define    rUserAlert    129                /* error user alert */
  33. #define    rWindow        128                /* application's window */
  34. #define rStopRect    128                /* rectangle for Stop light */
  35. #define rGoRect        129                /* rectangle for Go light */
  36.  
  37. /* kSysEnvironsVersion is passed to SysEnvirons to tell it which version of the
  38.    SysEnvRec we understand. */
  39.  
  40. #define    kSysEnvironsVersion        1
  41.  
  42. /* kOSEvent is the event number of the suspend/resume and mouse-moved events sent
  43.    by MultiFinder. Once we determine that an event is an osEvent, we look at the
  44.    high byte of the message sent to determine which kind it is. To differentiate
  45.    suspend and resume events we check the resumeMask bit. */
  46.  
  47. #define    kOSEvent                app4Evt    /* event used by MultiFinder */
  48. #define    kSuspendResumeMessage    1        /* high byte of suspend/resume event message */
  49. #define    kResumeMask                1        /* bit of message field for resume vs. suspend */
  50. #define    kMouseMovedMessage        0xFA    /* high byte of mouse-moved event message */
  51. #define    kNoEvents                0        /* no events mask */
  52.  
  53. /* The following constants are used to identify menus and their items. The menu IDs
  54.    have an "m" prefix and the item numbers within each menu have an "i" prefix. */
  55.  
  56. #define    mApple                    128        /* Apple menu */
  57. #define    iAbout                    1
  58.  
  59. #define    mFile                    129        /* File menu */
  60. #define    iQuit                    1
  61.  
  62. #define    mEdit                    130        /* Edit menu */
  63. #define    iUndo                    1
  64. #define    iCut                    3
  65. #define    iCopy                    4
  66. #define    iPaste                    5
  67. #define    iClear                    6
  68.  
  69. #define    mTest                    131        /* Tests menu */
  70. #define iDebugger                1
  71. #define iClobber                3
  72. #define    iBusError                4
  73. #define    iIllegal                5
  74. #define iExceptionHandlers        7
  75.  
  76. /*    1.01 - kTopLeft - This is for positioning the Disk Initialization dialogs. */
  77.  
  78. #define kDITop                    0x0050
  79. #define kDILeft                    0x0070
  80.  
  81. #define kMinSize    100                /* application's minimum size (in K) */
  82. #define kPrefSize    100                /* application's preferred size (in K) */
  83. #define kMinHeap                21 * 1024
  84.     
  85. #define kMinSpace                8 * 1024
  86.  
  87. #define AllItems    0b1111111111111111111111111111111    /* 31 flags */
  88. #define NoItems        0b0000000000000000000000000000000
  89. #define MenuItem1    0b0000000000000000000000000000001
  90. #define MenuItem2    0b0000000000000000000000000000010
  91. #define MenuItem3    0b0000000000000000000000000000100
  92. #define MenuItem4    0b0000000000000000000000000001000
  93. #define MenuItem5    0b0000000000000000000000000010000
  94. #define MenuItem6    0b0000000000000000000000000100000
  95. #define MenuItem7    0b0000000000000000000000001000000
  96. #define MenuItem8    0b0000000000000000000000010000000
  97. #define MenuItem9    0b0000000000000000000000100000000
  98. #define MenuItem10    0b0000000000000000000001000000000
  99. #define MenuItem11    0b0000000000000000000010000000000
  100. #define MenuItem12    0b0000000000000000000100000000000
  101.